﻿/* ************************************************************************************* 
 * CREATED BY:          GIAPCM
 * CREATED DATE:        10/02/2009
 * PROJECT:             MC ENT WEBSITE PROJECT
 * PURPOSE:             
 * MODIFIED BY:         None
 * MODIFIED DATE:       None
 * MODIFIED REASON:     None
 * NOTES:               None
 **************************************************************************************/
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MCWEBSITE.BUL;
using MCWEBSITE.ENTITY;

public partial class Modules_WebsiteFrontEnd_wucNews : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.NOMAL;
        }
    }

    protected void ListDataControl_RadGridItemsSelected(object sender, RadGridItemsSelectedEventArgs e)
    {
        if (e.SelectedItemsCount == 1)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.SINGLEROWSELECTED;
        }
        if (e.SelectedItemsCount > 1)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.MULTIROWSELECTED;
        }
        if (e.SelectedItemsCount < 1)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.NOMAL;
        }
    }

    protected void ListDataControl_RadGridItemsSubmitted(object sender, RadGridItemsSubmittedEventArgs e)
    {
        if (e.UnsubmittedItemsCount == 0)
            lblMessage.Text = "Gửi bài thành công!";
        else
            lblMessage.Text = "Lỗi trong quá trình Gửi bài. Có " + Convert.ToString(e.UnsubmittedItemsCount) + " bản ghi chưa gửi / tổng số " + Convert.ToString(e.UnsubmittedItemsCount + e.SubmittedItemsCount);
    }

    protected void ListDataControl_RadGridItemsDeleted(object sender, RadGridItemsDeletedEventArgs e)
    {
        if (e.UnDeletedItemsCount == 0)
            lblMessage.Text = "Bản ghi được xóa thành công!";
        else
            lblMessage.Text = "Lỗi trong quá trình xóa bản ghi. Có " + Convert.ToString(e.UnDeletedItemsCount) + " bản ghi chưa xóa / tổng số " + Convert.ToString(e.UnDeletedItemsCount + e.DeletedItemsCount);
    }    

    protected void ListDataControl_RadGridItemEdited(object sender, RadGridItemEditedEventArgs e)
    {
        if (Convert.ToInt32(e.ItemID) > 0)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.EDIT;
            DetailDataControl.Visible = true;
            lblMessage.Visible = true;
            lblMessage.Text = "Thực hiện chỉnh sửa và lưu hoặc bấm undo để quay trở lại";
            ListDataControl.Visible = false;
            DetailDataControl.SetControlMode(NewsToolbarStatus.EDIT);
            DetailDataControl.SetDetailData(Convert.ToInt32(e.ItemID));
        }
    }

    protected void objNewsToolbar_NewsToolbarButtonClicked(object sender, NewsToolbarButtonClickedEventArgs e)
    {
        // SELECTED ITEM ARRAYLIST
        ArrayList SelectedItemID = ListDataControl.GridSelectedItems();
        //TAO MOI BAN GHI
        if (e.ButtonCode == NewsToolbarButton.NEWBUTTON)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.NEW;
            DetailDataControl.Visible = true;
            lblMessage.Visible = true;
            lblMessage.Text = "Thực hiện nhập mới và lưu hoặc bấm undo để quay trở lại";
            ListDataControl.Visible = false;
            DetailDataControl.SetControlMode(NewsToolbarStatus.NEW);
            DetailDataControl.SetDetailData(-1);
        }

        // CHINH SUA NOI DUNG
        if (e.ButtonCode == NewsToolbarButton.EDITBUTTON)
        {
            if (SelectedItemID.Count == 1)
            {
                objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.EDIT;
                DetailDataControl.Visible = true;
                lblMessage.Visible = true;
                lblMessage.Text = "Thực hiện chỉnh sửa và lưu hoặc bấm undo để quay trở lại";
                ListDataControl.Visible = false;
                DetailDataControl.SetControlMode(NewsToolbarStatus.EDIT);
                DetailDataControl.SetDetailData(Convert.ToInt32(SelectedItemID[0]));
            }
            else
            {
                lblMessage.Visible = true;
                lblMessage.Text = "Xin hãy lựa chọn một bản ghi duy nhất để chỉnh sửa";
            }
        }
        // XOA BO BAN GHI
        if (e.ButtonCode == NewsToolbarButton.DELBUTTON)
        {
            // Xoa ban ghi trong truong hop xem chi tiet ban ghi
            if (DetailDataControl.Visible && !ListDataControl.Visible)
            {
                objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.NOMAL;
                DetailDataControl.Visible = false;
                lblMessage.Visible = true;
                ListDataControl.Visible = true;
                DetailDataControl.SetControlMode(NewsToolbarStatus.NOMAL);
                lblMessage.Text = DetailDataControl.PerformToolbarEvent(NewsToolbarButton.DELBUTTON);
                ListDataControl.RefreshGridView();
            }
            else if (!DetailDataControl.Visible && ListDataControl.Visible)
            {
                // Xoa ban ghi khi xem ngoai list
                if (SelectedItemID.Count >= 1)
                {
                    lblMessage.Visible = true;
                    lblMessage.Text = "Thực hiện chỉnh sửa và lưu hoặc bấm undo để quay trở lại";
                    ListDataControl.DeleteSelectedItems(SelectedItemID);
                    ListDataControl.RefreshGridView();
                }
                else
                {
                    lblMessage.Visible = true;
                    lblMessage.Text = "Xin hãy lựa chọn một hay nhiều bản ghi để thực hiện xóa";
                }
            }
        }

        // SUBMITUP
        if (e.ButtonCode == NewsToolbarButton.SUBMITBUTTON)
        {
            // Submit ban ghi trong truong hop xem chi tiet ban ghi
            if (DetailDataControl.Visible && !ListDataControl.Visible)
            {
                objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.NOMAL;
                DetailDataControl.Visible = false;
                lblMessage.Visible = true;
                ListDataControl.Visible = true;
                DetailDataControl.SetControlMode(NewsToolbarStatus.NOMAL);
                lblMessage.Text = DetailDataControl.PerformToolbarEvent(NewsToolbarButton.SUBMITBUTTON);
                ListDataControl.RefreshGridView();
            }
            else if (!DetailDataControl.Visible && ListDataControl.Visible)
            {
                // Submit ban ghi khi xem ngoai list
                if (SelectedItemID.Count >= 1)
                {
                    lblMessage.Visible = true;
                    lblMessage.Text = "Thực hiện chỉnh sửa và lưu hoặc bấm undo để quay trở lại";
                    ListDataControl.SubmitSelectedItems(SelectedItemID);
                    ListDataControl.RefreshGridView();
                }
                else
                {
                    lblMessage.Visible = true;
                    lblMessage.Text = "Xin hãy lựa chọn một hay nhiều bản ghi để thực hiện gửi bài";
                }
            }
        }

        // NHOM NUT THUC THI HANH DONG
        //PREVIEW ACTION
        if (e.ButtonCode == NewsToolbarButton.PREVIEWBUTTON)
        {
            // preview ban ghi trong truong hop xem chi tiet ban ghi
            if (DetailDataControl.Visible && !ListDataControl.Visible)
            {
                lblMessage.Text = DetailDataControl.PerformToolbarEvent(NewsToolbarButton.PREVIEWBUTTON);
            }
            else if (!DetailDataControl.Visible && ListDataControl.Visible)
            {
                //Preview khi xem ngoai list
                if (SelectedItemID.Count == 1)
                {
                    int NewsID = Convert.ToInt32(SelectedItemID[0]);
                    websiteNewsInfo objNews = websiteNewsBUL.Load(NewsID);
                    Session["CurrentNews"] = objNews;
                    //View Preview Page
                    previewradwindow.NavigateUrl = "~/Default.aspx?Page=newspreview";
                    previewradwindow.VisibleOnPageLoad = true;
                }
                else
                {
                    lblMessage.Visible = true;
                    lblMessage.Text = "Xin hãy lựa chọn một tin để xem trước!";
                }
            }

        }        
        //Upload News Image
        if (e.ButtonCode == NewsToolbarButton.IMAGEBUTTON)
        {
            // preview ban ghi trong truong hop xem chi tiet ban ghi
            if (DetailDataControl.Visible && !ListDataControl.Visible)
            {
                lblMessage.Text = DetailDataControl.PerformToolbarEvent(NewsToolbarButton.IMAGEBUTTON);
            }
        }        
        // REFRESH ACTION
        if (e.ButtonCode == NewsToolbarButton.REFRESHBUTTON)
        {
            if (ListDataControl.Visible)
                ListDataControl.RefreshGridView();
            if (DetailDataControl.Visible)
                DetailDataControl.RefreshDetailView();
        }
        // FILTER ACTION
        if (e.ButtonCode == NewsToolbarButton.FILTERBUTTON)
        {
            if (ListDataControl.Visible)
            {
                ListDataControl.SetDefaultGridView();
                ListDataControl.FilterGridView();
            }
        }
        // LUU BAN GHI
        if (e.ButtonCode == NewsToolbarButton.SAVEBUTTON)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.NOMAL;
            DetailDataControl.Visible = false;
            lblMessage.Visible = true;
            ListDataControl.Visible = true;
            DetailDataControl.SetControlMode(NewsToolbarStatus.NOMAL);
            lblMessage.Text = DetailDataControl.PerformToolbarEvent(NewsToolbarButton.SAVEBUTTON);
            ListDataControl.RefreshGridView();
        }
        // NUT HUY BO HANH DONG
        if (e.ButtonCode == NewsToolbarButton.UNDOBUTTON)
        {
            objNewsToolbar.NewsToolbarStatus = NewsToolbarStatus.NOMAL;
            DetailDataControl.Visible = false;
            lblMessage.Visible = true;
            ListDataControl.Visible = true;
            DetailDataControl.SetControlMode(NewsToolbarStatus.NOMAL);
            lblMessage.Text = DetailDataControl.PerformToolbarEvent(NewsToolbarButton.UNDOBUTTON);
            ListDataControl.RefreshGridView();
        }
    }
}
